/*
 * commons is a based project implemented
 * Copyright (C) 2024 Jasmine
 */
package com.commons.log.domain;

import java.net.URI;
import java.util.Map;

/**
 * 可记录的 HTTP 请求信息
 * 
 * @author Jasmine
 * @version 1.0
 * @description
 * @see RecordableHttpRequest
 * @since 2024-02-05 08:24:24
 */
public interface RecordableHttpRequest {

    /**
     * 获取请求方式
     *
     * @return 请求方式
     */
    String getMethod();

    /**
     * 获取 URL
     *
     * @return URL
     */
    URI getUrl();

    /**
     * 获取 IP
     *
     * @return IP
     */
    String getIp();

    /**
     * 获取请求头
     *
     * @return 请求头
     */
    Map<String, String> getHeaders();

    /**
     * 获取请求参数
     *
     * @return 请求体
     */
    String getParams();
}
